-- CALC_INFLUENCE_MONSTER_DROP

-- 计算怪物掉落
-- @param monster    怪物
return function(monster)
    local element = monster.dbase:query("element");
    local info = DungeonM.queryElement(element, "dbase") or {};

    -- 特殊掉落
    local bonus = MonsterM.query(monster.classId, "property_droped");
    if type(bonus) ~= "table" then
        return {};
    end

    if sizeof(info["influence_drop_list"]) <= 0 then
        return {};
    end

    for _, class_id in pairs(info["influence_drop_list"]) do
        local prop = PropM.combine(monster, "monster_alive", class_id);
        if prop[3] <= 0 and CombatStatM.queryRoundKill(class_id) <= 0 then
            -- 没有存活的怪物
            return {};
        end
    end

    return bonus;
end
